PostgreSQL 安全管理 数据脱敏 Anonymizer 自定义伪造数据

1 背景知识

Anonymizer 扩展提供一小部分伪造数据。对于每个 伪造函数 (fake_email(),fake_first_name())只提供1000 个唯一值,而且只有英文版数据。

接下来如何创建自己的假的数据集。

2 选择伪造数据包。

此插件提供一个伪造数据集。你可以下载数据集并加载到扩展程序中。

  1. 打开网页 https://gitlab.com/dalibo/postgresql_anonymizer/-/packages
  2. 点击 "data"。
  3. 选择的压缩文件下载到服务器上
  4. 解压至文件夹总(例如 /path/to/custom_csv_files/)
  5. 运行 SELECT anon.init('/path/to/custom_csv_files/')

3 生成自定义的伪造数据集

3.1 下载python脚本

下面这个python 脚本可以生成伪造数据集:

https://gitlab.com/dalibo/postgresql_anonymizer/-/blob/master/python/populate.py

3.2 python 脚本用法

制作5000 个以中文命名电子邮件地址:

populate.py --table email --locales zh_CN --lines 5000

populate.py --help 可以了解更多数据详情。
将会以 CSV 格式输出伪造数据。

3.3 将伪造数据进行导入

TRUNCATE anon.email;

COPY anon.email
FROM
PROGRAM 'populate.py --table email --locales fr,de --lines 5000';

SELECT setval('anon.email_oid_seq', max(oid))
FROM anon.email;

CLUSTER anon.email;

3.4 加载伪造数据

将伪造好的数据直接加载到扩展中:

TRUNCATE anon.email;

COPY anon.email
FROM
PROGRAM 'populate.py --table email --locales fr,de --lines 5000';

SELECT setval('anon.email_oid_seq', max(oid))
FROM anon.email;

CLUSTER anon.email;
Warning

本脚本只作为示例提供,官方不支持提供。

4 加载自己的伪造数据

如果你想使用自己的数据集,使用导入CSV 的方式导入。

SELECT anon.init('/path/to/custom_csv_files/')

5 使用 PostgreSQL Faker 扩展插件

如果你需要更高级的伪造数据,请参考高级伪造章节。